package org.stvd.repository.workflow.leave;

import java.util.Date;
import java.util.List;
import java.util.Map;

import org.stvd.core.dto.QueryResult;
import org.stvd.entities.workflow.leave.BsLeaveInfo;
import org.stvd.repository.base.BaseDao;
 
/**
 * @Title BsLeaveInfoDao
 * @Destribution 请假信息数据层接口类
 * @author fenglong
 * @date 2020年10月28日
 */
public interface BsLeaveInfoDao extends BaseDao<BsLeaveInfo> {
 
    QueryResult<Map<String, Object>> getQueryResult(int i, Integer pageSize, String depName, String empName, Date startDate,
            Date endDate, String userId, String status);
 
    /**
     * @Destribution:根据流程ID查询请假信息
     * @param processInstanceId
     * @return
     */
    BsLeaveInfo findByProcessId(String processInstanceId);
 
    /**
     * @Destribution:查询请假申请集合（sql）
     * @param i
     * @param pageSize
     * @param auditStatus
     * @return
     */
    QueryResult<Map<String, Object>> queryLeaveResult(int i, Integer pageSize, String auditStatus, String uid,
            String role);
 
    /**
     * @param nowDate
     * @param userId
     * @Destribution:
     * @return
     */
    List<BsLeaveInfo> NowisLeave(String userId, Date nowDate);
 
    List<BsLeaveInfo> findBySendUid(String currentUserid, String auditStatus);
}
